<?php
namespace WeChatPay\Request;

use WeChatPay\Formatter;

/**
 * 支付通知签名验证
 * 用于验证回调地址是否是微信发送来的
 * Class WeChatPayTradeSignRequest
 * @package WeChatPay\Request
 */
class WeChatPayTradeNotifyVerifyRequest extends AbstractBaseRequest
{
    /**
     * 签名字符串
     * @var string
     */
    protected $weChatPaySignature = "";

    /**
     * 时间戳
     * @var string
     */
    protected $weChatPayTimestamp = "";

    /**
     * 证书序列号(微信支付平台证书)
     * @var string
     */
    protected $weChatPaySerial = "";

    /**
     * 随机字符串
     * @var string
     */
    protected $weChatPayNonce = "";

    /**
     * 请求内容体
     * @var string
     */
    protected $weChatPayBody = "";

    /**
     * 获取签名字符串
     * @return string
     */
    public function getWeChatPaySignature(): string
    {
        return $this->weChatPaySignature;
    }

    /**
     * 设置签名字符串
     * @param string $weChatPaySignature
     */
    public function setWeChatPaySignature(string $weChatPaySignature): void
    {
        $this->weChatPaySignature = $weChatPaySignature;
    }

    /**
     * 获取随机字符串
     * @return string
     */
    public function getWeChatPayTimestamp(): string
    {
        return $this->weChatPayTimestamp;
    }

    /**
     * 设置随机字符串
     * @param string $weChatPayTimestamp
     */
    public function setWeChatPayTimestamp(string $weChatPayTimestamp): void
    {
        $this->weChatPayTimestamp = $weChatPayTimestamp;
    }

    /**
     * 获取平台证书序列号
     * @return string
     */
    public function getWeChatPaySerial(): string
    {
        return $this->weChatPaySerial;
    }

    /**
     * 设置平台证书序列号
     * @param string $weChatPaySerial
     */
    public function setWeChatPaySerial(string $weChatPaySerial): void
    {
        $this->weChatPaySerial = $weChatPaySerial;
    }

    /**
     * 获取随机字符串
     * @return string
     */
    public function getWeChatPayNonce(): string
    {
        return $this->weChatPayNonce;
    }

    /**
     * 设置随机字符串
     * @param string $weChatPayNonce
     */
    public function setWeChatPayNonce(string $weChatPayNonce): void
    {
        $this->weChatPayNonce = $weChatPayNonce;
    }

    /**
     * 获取请求体
     * @return string
     */
    public function getWeChatPayBody(): string
    {
        return $this->weChatPayBody;
    }

    /**
     * 设置请求体
     * @param string $weChatPayBody
     */
    public function setWeChatPayBody(string $weChatPayBody): void
    {
        $this->weChatPayBody = $weChatPayBody;
    }
}